home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_13_09 / barbu2 / controls.hpp < prev    next >
C/C++ Source or Header  |  1995-05-04  |  2KB  |  92 lines

  1. //////// AB CLASSGEN Sat Apr 29 04:23:36 1995 ////////
  2. // The base controls
  3. //////////////////////////////////////////////////////
  4. #if !defined(CONTROLS_HPP)
  5. #define CONTROLS_HPP
  6. #if !defined(RC_INVOKED)    // no Windows RC compiler
  7. #include "CTL.HPP"
  8.  
  9. // CTLEDIT, the edit control (and his static label)
  10. class CTLEDIT : public CTL {
  11. public:
  12.     CTLEDIT(const DESCRIPT& Desc,
  13.             SHOWDATA* Guru,
  14.             const CTLMAPPER *Map);
  15.     virtual ~CTLEDIT();
  16.  
  17.     virtual int addToDlg(int nFirstFreeId,
  18.                         MEMBLOCK *pTemplateSoFar,
  19.                         int duX, int duY);
  20.     virtual BOOL wm_command(int nId, int nCommand);
  21.     virtual BOOL isDataOk();
  22.     virtual void saveData();
  23.  
  24.     // overload this in derived to check EN_CHANGE:
  25.     virtual BOOL isOkOnTheFly(
  26.             const char szContents[]) { return TRUE; }
  27.  
  28. protected:
  29.     const CTLMAPPER * _map;
  30.     int _idT, _idE;
  31.     int _duwText, _duwEdit;
  32.     BOOL _bInOneLine;
  33.     STR _contents;
  34.     virtual void dataToScreen();
  35.  
  36. private:
  37.     CTLEDIT();
  38.     CTLEDIT(const CTLEDIT&);
  39.     CTLEDIT& operator=(const CTLEDIT&);
  40. };
  41.  
  42. // CTLCHECK, the checkbox control
  43. class CTLCHECK : public CTL {
  44. public:
  45.     CTLCHECK(const DESCRIPT& Desc,
  46.             SHOWDATA* Guru,
  47.             const CTLMAPPER *Map);
  48.     ~CTLCHECK();
  49.  
  50.     virtual int addToDlg(int nFirstFreeId,
  51.                         MEMBLOCK *pTemplateSoFar,
  52.                         int duX, int duY);
  53.     virtual void saveData();
  54.  
  55. private:
  56.     const CTLMAPPER * _map;
  57.     int _idC;
  58.     virtual void dataToScreen();
  59.  
  60.     CTLCHECK();
  61.     CTLCHECK(const CTLCHECK&);
  62.     CTLCHECK& operator=(const CTLCHECK&);
  63. };
  64.  
  65. // CTLRADIO, the radio control (combo + static)
  66. class CTLRADIO : public CTL {
  67. public:
  68.     CTLRADIO(const DESCRIPT& Desc,
  69.             SHOWDATA * Guru,
  70.             const CTLMAPPER *Map);
  71.     ~CTLRADIO();
  72.  
  73.     virtual int addToDlg(int nFirstFreeId,
  74.                         MEMBLOCK *pTemplateSoFar,
  75.                         int duX, int duY);
  76.     virtual void saveData();
  77.  
  78. private:
  79.     const CTLMAPPER * _map;
  80.     int _idT, _idCB;
  81.     int _duwText, _duwCombo;
  82.     BOOL _bInOneLine;
  83.     int _nR;
  84.     virtual void dataToScreen();
  85.  
  86.     CTLRADIO();
  87.     CTLRADIO(const CTLRADIO&);
  88.     CTLRADIO& operator=(const CTLRADIO&);
  89. };
  90. #endif
  91. #endif
  92.